import * as crypto from 'crypto';
const fs = require('fs');
/**
 * Make salt
 */
export function makeSalt(): string {
  return crypto.randomBytes(3).toString('base64');
}

/**
 * Encrypt password
 * @param password 密码
 * @param salt 密码盐
 */
export function encryptPassword(password: string, salt: string): string {
  if (!password || !salt) {
    return '';
  }
  const tempSalt = Buffer.from(salt, 'base64');
  return (
    // 10000 代表迭代次数 16代表长度
    crypto.pbkdf2Sync(password, tempSalt, 10000, 16, 'sha1').toString('base64')
  );
}

/* 判断文件是否存在的函数
*@path_way, 文件路径
 */
export async function isFileExisted(path_way):Promise<boolean> {
  return new Promise((resolve,reject) => {
    fs.access(path_way, (err) => {
      if (err) {
        return false;//"不存在"
      } else {
        return true;//"存在"
      }
    })
  })
};
